JRIF: Reactive Information Flow Control for Java∗ Technical Report
نویسندگان
چکیده
Classic information flow systems conservatively define the security label associated with a derived value to be at least as restrictive as the security label on any input to that derivation. Because restrictions on information flow do not necessarily change monotonically over time, this definition requires programmers to invoke downgrading operations. A reactive information flow (RIF) specification for a value v gives (i) allowed uses for v and (ii) the RIF specification for any value that might be directly or indirectly derived from v. RIF specifications thus specify how transforming a value might alter how the result may be used, and that is more expressive than existing approaches for controlling downgrading. We implement a type system for RIF specifications by extending Jif, a dialect of Java that supports a form of classic information flow. By implementing the JRIF language and compiler, we show how a classic information-flow type system can be easily replaced with a more expressive RIF type system. We built example applications with JRIF, and we provide insights into the benefits of RIF-based security labels.
منابع مشابه
Green tea extract protects endothelial progenitor cells from oxidative insult through reduction of intracellular reactive oxygen species activity
Objective(s):Many studies have reported that tea consumption decreases cardiovascular risk, but the mechanisms remain unclear. Green tea is known to have potent antioxidant and free radical scavengingactivities. This study aimed to investigate whether green tea extract (GTE) can protect endothelial progenitors cells (EPCs) against oxidative stress through antioxidant mechanisms. Materials and M...
متن کاملTrace Based Compilation in Interpreter-less Execution Environments
Trace based compilation is a technique used in managed language runtimes to detect and compile frequently executed program paths. The goal is reduced compilation time and improved code quality since only “hot” parts of methods are ever compiled. Trace compilation is well suited for interpreter based runtime environments because the control flow of an application program is highly visible and re...
متن کاملMini Project Report One
The Java Architecture for Bytecode Analysis (JABA) of the Aristotle Research Group at Georgia Tech provides static analysis of Java programs. Besides others, JABA uses algorithms that determine inter-procedural control flow caused by exceptions [3]. This means that JABA determines for each throw statement of the program the methods visited on the way to the finally statement or catch statement ...
متن کاملJensen-Shannon Divergency as a Measure of Information Flow in Reactive Processes Technical Report: TR-09-07
This paper outlines an approach for measuring information flow in reactive process descriptions with input, output, and probabilistic non-deterministic behaviours. The basic concept in our work is that the quantity of information flow is calculated by looking at the different behaviours of a high user from a low user’s observations. First, we present the probabilistic model of reactive labelled...
متن کاملIntegration of XML streams in information flow analysis for Java
In this report we present an extension of an existing flow-sensitive analysis for secure information flow for Java bytecode that deals with flows of data from and to XML streams governed by an access control mechanism. Our approach consists in computing, at different program points, an abstract XML content graph (AXCG) which tracks data read from and written to XML streams relying on data track...
متن کامل